package com.ctg.behavior.common.useranalytics;

import java.util.ArrayList;
import java.util.List;

import com.ctg.behavior.common.calc.CtCalcCommonBody;
import com.ctg.behavior.common.calc.CtCalcUserMeasure;

import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = false)
@Data
public class CtUserAnalyticsCalcBody extends CtCalcCommonBody {

//	/*
//	{
//		"measures": [
//			{
//				"aggregator": "SUM",
//				"field": "user.award_scout"
//			}
//		],
//		"filter": {
//			"relation": "and",
//			"conditions": [
//				{
//					"field": "user.gender",
//					"function": "equal",
//					"params": [
//						"男",
//						"女"
//					]
//				},
//				{
//					"field": "user.zone",
//					"function": "equal",
//					"params": [
//						"湖南",
//						"深圳"
//					]
//				},
//				{
//					"field": "user.age",
//					"function": "between",
//					"params": [
//						"35",
//						"40"
//					]
//				}
//			]
//		},
//		"byFields": [
//			"user.gender",
//			"user.zone",
//			"user.age"
//		],
//		"xAxisField": "user.age",
//		"useCache": true,
//		"isSaved": false,
//		"subTaskType": "USERANALYTICS",
//		"requestId": "1633612742023:170757"
//	}
//	 */
	
	// 属性分析 - 显示指标: 用户数 或 用户属性的总和、最大值、最小值、平均值、去重数
	private List<CtCalcUserMeasure> measures = new ArrayList<>();
	// 按【字段】查看 - 分组
	private List<String> byFields = new ArrayList<String>();
	// 指定分析结果维度，即：图表中的X轴
	private String xAxisField;

}
